import {
  authList,
  getWxAuth,
  isWxAuthFun,
  wxAuthOpenSeeting
} from "../../../utils/wxApiAuth"

// common/components/recording/recording.js
const recorderManager = wx.getRecorderManager()
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 主要控制报修页面的录音样式
    isDefaultStyle: {
      type: Boolean,
      value: true
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 按钮状态文本
    buttonStateText: '按住开始录音',
    // 按钮状态颜色
    buttonStateStyle: 'light',
    // 录音状态文本
    recordingStateText: '',
    // 录音本地地址
    tempFilePath: ''
  },
  attached() {
    // 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record"


  },
  /**
   * 组件的方法列表
   */
  methods: {
    onTouchStart() {
      const self = this
      isWxAuthFun(authList.record, (isAuth) => {
        console.log(isAuth, '------');
        if (isAuth) {
          recorderManager.start()
          // 监听录音开始事件
          recorderManager.onStart(() => {
            console.log('开始监听');
            self.setData({
              buttonStateText: '录音中...',
              recordingStateText: "录音中,完成后松手",
              buttonStateStyle: 'primary',
              tempFilePath: '',
            })
          })
        } else {
          wxAuthOpenSeeting()
        }
      })

    },
    onTouchEnd() {
      const self = this
      recorderManager.stop()
      // 录音结束事件
      recorderManager.onStop((res) => {

        self.setData({
          buttonStateText: '重录',
          recordingStateText: "录音完成",
          buttonStateStyle: 'light',
          tempFilePath: res.tempFilePath
        })
        self.triggerEvent('onRcording', {
          value: res.tempFilePath
        })
      })
    }
  }
})